package com.yc.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yc.entity.LeavereQuests;
import org.apache.ibatis.annotations.Param;

/**
 * 请假表;(leavere_quests)表服务接口
 * @date : 2023-6-28
 */
public interface LeavereQuestsService{

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    LeavereQuests queryById(Integer id);

    /**
     * 分页查询
     *
     * @param leavereQuests 筛选条件
     * @param current 当前页码
     * @param size  每页大小
     * @return
     */
    Page<LeavereQuests> paginQuery(LeavereQuests leavereQuests, long current, long size);

    /**
     * 新增数据
     *
     * @param leavereQuests 实例对象
     * @return 实例对象
     */
    LeavereQuests insert(LeavereQuests leavereQuests);

    /**
     * 更新数据
     *
     * @param leavereQuests 实例对象
     * @return 实例对象
     */
    LeavereQuests update(LeavereQuests leavereQuests);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

    /**
     * 通过请假表Id查询请假信息
     * @param leaveId
     * @return
     */
    LeavereQuests selectByLeaveId(@Param("leaveId") String leaveId);

    /**
     * 通过学号和当前时间查询请假信息
     * @param stuid 学生学号
     * @return 请假信息
     */
    LeavereQuests selectByStuid(@Param("stuid") String stuid);
}